Clinician review of an orthodontic treatment plan and appliance

ABSTRACT

A computer is used to create a plan for repositioning an orthodontic patient&#39;s teeth. The computer receives an initial digital data set representing the patient&#39;s teeth at their initial positions and a final digital data set representing the teeth at their final positions. The computer then uses the data sets to generate treatment paths along which teeth will move from the initial positions to the final positions.

CROSS-REFERENCES S TO RELATED APPLICATIONS

This application is a Continuation of U.S. application Ser. No.13/019,196, filed Feb. 1, 2011, which is a Continuation of U.S.application Ser. No. 11/981,666, filed Oct. 31, 2007, now U.S. Pat. No.7,905,725, issued Mar. 15, 2011, which is a Continuation of U.S.application Ser. No. 09/745,825, filed Dec. 21, 2000, now U.S. Pat. No.7,474,307, issued Jan. 6, 2009, which is a Continuation of U.S.application Ser. No. 09/169,276, filed Oct. 8, 1998, which is aContinuation-in-Part of PCT/US98/12861, filed on Jun. 19, 1998, which isa Continuation-in-Part of U.S. application Ser. No. 08/947,080, filed onOct. 8, 1997, now U.S. Pat. No. 5,975,893, issued. Nov. 2, 1999, whichclaims the benefit of U.S. Provisional Application No. 60/050,342, filedon Jun. 20, 1997, the full disclosures of which are incorporated hereinby reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to the field of orthodontics and, moreparticularly, to computer-automated development of an orthodontictreatment plan and appliance.

Repositioning teeth for aesthetic or other reasons is accomplishedconventionally by wearing what are commonly referred to as “braces.”Braces comprise a variety of appliances such as brackets, archwires,ligatures, and O-rings. Attaching the appliances to a patient's teeth isa tedious and time consuming enterprise requiring many meetings with thetreating orthodontist. Consequently, conventional orthodontic treatmentlimits an orthodontist's patient capacity and makes orthodontictreatment quite expensive.

Before fastening braces to a patient's teeth, at least one appointmentis typically scheduled with the orthodontist, dentist, and/or X-raylaboratory so that X-rays and photographs of the patient's teeth and jawstructure can be taken. Also during this preliminary meeting, orpossibly at a later meeting, an alginate mold of the patient's teeth istypically made. This mold provides a model of the patient's teeth thatthe orthodontist uses in conjunction with the X-rays and photographs toformulate a treatment strategy. The orthodontist then typicallyschedules one or more appointments during which braces will be attachedto the patient's teeth.

At the meeting during which braces are first attached, the teethsurfaces are initially treated with a weak acid. The acid optimizes theadhesion properties of the teeth surfaces for brackets and bands thatare to be bonded to them. The brackets and bands serve as anchors forother appliances to be added later. After the acid step, the bracketsand bands are cemented to the patient's teeth using a suitable bondingmaterial. No force-inducing appliances are added until the cement isset. For this reason, it is common for the orthodontist to schedule alater appointment to ensure that the brackets and bands are well bondedto the teeth.

The primary force-inducing appliance in a conventional set of braces isthe archwire. The archwire is resilient and is attached to the bracketsby way of slots in the brackets. The archwire links the bracketstogether and exerts forces on them to move the teeth over time. Twistedwires or elastomeric O-rings are commonly used to reinforce attachmentof the archwire to the brackets. Attachment of the archwire to thebrackets is known in the art of orthodontia as “ligation” and wires usedin this procedure are called “ligatures.” The elastomeric O-rings arecalled “plastics.”

After the archwire is in place, periodic meetings with the orthodontistare required, during which the patient's braces will be adjusted byinstalling a different archwire having different force-inducingproperties or by replacing or tightening existing ligatures. Typically,these meetings are scheduled every three to six weeks.

As the above illustrates, the use of conventional braces is a tediousand time consuming process and requires many visits to theorthodontist's office. Moreover, from the patient's perspective, the useof braces is unsightly, uncomfortable, presents a risk of infection, andmakes brushing, flossing, and other dental hygiene procedures difficult.

For these reasons, it would be desirable to provide alternative methodsand systems for repositioning teeth. Such methods and systems should beeconomical, and in particular should reduce the amount of time requiredby the orthodontist in planning and overseeing each individual patient.The methods and systems should also be more acceptable to the patient,in particular being less visible, less uncomfortable, less prone toinfection, and more compatible with daily dental hygiene. At least someof these objectives will be met by the methods and systems of thepresent invention described hereinafter.

2. Description of the Background Art

Tooth positioners for finishing orthodontic treatment are described byKesling in the Am. J. Orthod. Oral. Surg. 31:297-304 (1945) and32:285-293 (1946). The use of silicone positioners for the comprehensiveorthodontic realignment of a patient's teeth is described in Warunek etal. (1989) J. Clin. Orthod. 23:694-700. Clear plastic retainers forfinishing and maintaining tooth positions are commercially availablefrom Raintree Essix, Inc., New Orleans, La. 70125, and Tru-TainPlastics, Rochester, Minn. 55902. The manufacture of orthodonticpositioners is described in U.S. Pat. Nos. 5,186,623; 5,059,118;5,055,039; 5,035,613; 4,856,991; 4,798,534; and 4,755,139.

Other publications describing the fabrication and use of dentalpositioners include Kleemann and Janssen (1996) J. Clin. Orthodon.30:673-680; Cureton (1996) J. Clin. Orthodon. 30:390-395; Chiappone(1980) J. Clin. Orthodon. 14:121-133; Shilliday (1971) Am. J.Orthodontics 59:596-599; Wells (1970) Am. Orthodontics 58:351-366; andCottingham (1969) Am. J. Orthodontics 55:23-31.

Kuroda et al. (1996) Am. J. Orthodontics 110:365-369 describes a methodfor laser scanning a plaster dental cast to produce a digital image ofthe cast. See also U.S. Pat. No. 5,605,459.

U.S. Pat. Nos. 5,533,895; 5,474,448; 5,454,717; 5,447,432; 5,431,562;5,395,238; 5,368,478; and 5,139,419, assigned to Ounco Corporation,describe methods for manipulating digital images of teeth for designingorthodontic appliances.

U.S. Pat. No. 5,011,405 describes a method for digitally imaging a toothand determining optimum bracket positioning for orthodontic treatment.Laser scanning of a molded tooth to produce a three-dimensional model isdescribed in U.S. Pat. No. 5,338,198. U.S. Pat. No. 5,452,219 describesa method for laser scanning a tooth model and milling a tooth mold.Digital computer manipulation of tooth contours is described in U.S.Pat. Nos. 5,607,305 and 5,587,912. Computerized digital imaging of thejaw is described in U.S. Pat. Nos. 5,342,202 and 5,340,309. Otherpatents of interest include U.S. Pat. Nos. 5,549,476; 5,382,164;5,273,429; 4,936,862; 3,860,803; 3,660,900; 5,645,421; 5,055,039;4,798,534; 4,856,991; 5,035,613; 5,059,118; 5,186,623; and 4,755,139.

BRIEF SUMMARY OF THE INVENTION

In one aspect, the invention relates to the computer-automated creationof a plan for repositioning an orthodontic patient's teeth. A computerreceives an initial digital data set representing the patient's teeth attheir initial positions and a final digital data set representing theteeth at their final positions. The computer uses the data sets togenerate treatment paths along which the teeth will move from theinitial positions to the final positions.

In some implementations, the initial digital data set includes dataobtained by scanning a physical model of the patient's teeth, such as byscanning a positive impression or a negative impression of the patient'steeth with a laser scanner or a destructive scanner. The positive andnegative impression may be scanned while interlocked with each other toprovide more accurate data. The initial digital data set also mayinclude volume image data of the patient's teeth, which the computer canconvert into a 3D geometric model of the tooth surfaces, for exampleusing a conventional marching cubes technique. The computer also can beused to segment the initial digital data set automatically intoindividual tooth models, such as by performing a feature detection ormatching operation on the image data. In some embodiments, theindividual tooth models include data representing hidden tooth surfaces,such as roots imaged through x-ray, CT scan, or MRI techniques. Toothroots and hidden surfaces also can be extrapolated from the visiblesurfaces of the patient's teeth.

In other embodiments, the computer applies a set of rules to detectcollisions that will occur as the patient's teeth move along thetreatment paths. One technique for collision detection is the creationof a collision buffer between two teeth at a given step along thetreatment path. The computer also can be used to detect improper biteocclusions that will occur as the patient's teeth move along thetreatment paths. Other embodiments allow the computer to render athree-dimensional (3D) graphical representation of the teeth at anyselected treatment step. The computer also can be used to animate thegraphical representation of the teeth to provide a visual display of themovement of the teeth along the treatment paths. A VCR metaphor in thegraphical user interface allows the user to control the animation.Level-of-detail compression can be used to improve the speed at whichthe 3D image of the teeth is rendered. Moreover, some embodiments allowthe user to modify the underlying digital data set by repositioning atooth in the 3D graphical representation.

In another aspect, the invention involves generating three-dimensionalmodels of individual teeth from an initial data set that contains a 3Drepresentation of a group of teeth. A computer performs this task byidentifying points in the initial data set corresponding to eachindividual tooth and then segmenting the initial data set into multipledata sets, each containing the points identified for one of the teeth.In some embodiments, the computer stores each data set as a 3D geometricmodel representing the visible surfaces of the corresponding tooth. Thecomputer can be used to modify each 3D model to include hidden surfacesof the corresponding tooth. In other embodiments, the initial data setcontains digital volume image data, and the computer converts the volumeimage data into a 3D geometric model by detecting volume elements in theimage data between which a sharp transition in digital image valueoccurs.

In another aspect, the invention relates to determining whether apatient's teeth can be moved from a first set of positions to a secondset of positions. A computer performs this task by receiving a digitaldata set representing the teeth at the second set of positions anddetermining whether any of the teeth will collide while moving to thesecond set of positions. In some embodiments, the computer calculatesdistances between two of the teeth (a first tooth and a second tooth) byestablishing a neutral projection plane between the first tooth and thesecond tooth, establishing a z-axis that is normal to the plane and thathas a positive direction and a negative direction from each of a set ofbase points on the projection plane, computing a pair of signeddistances comprising a first signed distance to the first tooth and asecond signed distance to the second tooth, the signed distances beingmeasured on a line passing through the base points and parallel to thez-axis, and determining that a collision will occur if any of the pairof signed distances indicates a collision.

In another aspect, the invention relates to determining final positionsfor an orthodontic patient's teeth. A computer receives a digital dataset representing the teeth at recommended final positions, renders athree-dimensional (3D) graphical representation of the teeth at therecommended final positions, receives an instruction to reposition oneof the teeth in response to a user's manipulation of the tooth in thegraphical representation, and, in response to the instruction, modifiesthe digital data set to represent the teeth at the user-selected finalpositions.

In another aspect, the invention relates to analyzing a recommendedtreatment plan for an orthodontic patient's teeth. A computer receives adigital data set representing the patient's upper teeth after treatment,receives a digital data set representing the patient's lower teeth aftertreatment, orients the data in the data sets to simulate the patient'sbite occlusion, manipulates the data sets in a manner that simulatesmotion of human jaws, and detects collisions between the patient's upperteeth and lower teeth during the simulation of motion. The simulation ofmotion can be based on observed motion of typical human jaws or thepatient's jaws.

INCORPORATION BY REFERENCE

All publications, patents, and patent applications mentioned in thisspecification are herein incorporated by reference to the same extent asif each individual publication, patent, or patent application wasspecifically and individually indicated to be incorporated by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present invention will be obtained by reference to thefollowing detailed description that sets forth illustrative embodiments,in which the principles of the invention are utilized, and theaccompanying drawings of which:

FIG. 1A illustrates a patient's jaw and provides a general indication ofhow teeth may be moved.

FIG. 1B illustrates a single tooth from FIG. 1A and defines how toothmovement distances are determined.

FIG. 1C illustrates the jaw of FIG. 1A together with an incrementalposition adjustment appliance.

FIG. 2 is a block diagram illustrating steps for producing a system ofincremental position adjustment appliances.

FIG. 3 is a block diagram setting forth the steps for manipulating aninitial digital data set representing an initial tooth arrangement toproduce a final digital data set corresponding to a desired final tootharrangement.

FIG. 4A is a flow chart illustrating an eraser tool for the methodsherein.

FIG. 4B illustrates the volume of space which is being erased by theprogram of FIG. 4A.

FIG. 5 is a flow chart illustrating a program for matchinghigh-resolution and low-resolution components in the manipulation ofdata sets of FIG. 3.

FIG. 6A is a flow chart illustrating a program for performing the“detection” stage of the cusp detection algorithm.

FIG. 6B is a flow chart illustrating a program for performing the“rejection” stage of the cusp detection algorithm.

FIG. 7 illustrates a method for generating multiple intermediate digitaldata sets which are used for producing the adjustment appliances.

FIG. 8A is a flow chart illustrating the steps performed by the pathscheduling algorithm.

FIG. 8B is a flow chart illustrating the steps for performing a“visibility” function.

FIG. 8C is a flow chart illustrating the steps for performing a“children” function.

FIG. 8D is a flow chart illustrating the steps for performing pathscheduling step 128 of FIG. 8A.

FIG. 9A is a flow chart illustrating the steps for performing recursivecollision testing during collision detection.

FIG. 9B is a flow chart illustrating node splitting performed duringcollision detection.

FIG. 9C is a flow chart illustrating steps for providing additionalmotion information to the collision detection process.

FIG. 10 illustrates alternative processes for producing a plurality ofappliances utilizing digital data sets representing the intermediate andfinal appliance designs.

FIG. 11 is a simplified block diagram of a data processing system.

FIG. 12 is cross-sectional image of a plaster tooth casting in an epoxymold.

FIG. 13 is a flow chart of a process for fanning one 3D image data setof teeth from two sets of image data.

FIG. 14 is a flow chart of a process for foaming a 3D surface mesh from3D image data.

FIGS. 15A, 15B, and 15C illustrate the positioning of teeth at varioussteps of an orthodontic treatment plan.

FIG. 16 is a flow chart of a process for determining a tooth's pathamong intermediate positions during an orthodontic treatment plan.

FIG. 17 is a flow chart of a process for optimizing the path of a toothfrom an initial position to a final position during an orthodontictreatment plan.

FIG. 18 is a diagram illustrating a buffering technique for use in acollision detection algorithm.

FIG. 19 is a flow chart for a collision detection technique.

FIG. 20 is a screen shot of a GUI display used to render 3D images of anorthodontic patient's teeth.

FIGS. 21A and 21B illustrate a technique for improving the downloadingand rendering speed of an orthodontic image data file.

DETAILED DESCRIPTION OF THE INVENTION

Systems and methods are provided for moving teeth incrementally using aplurality of discrete appliances, where each appliance successivelymoves one or more of the patient's teeth by relatively small amounts.The tooth movements will be those normally associated with orthodontictreatment, including translation in all three orthogonal directionsrelative to a vertical centerline, rotation of the tooth centerline inthe two orthodontic directions (“root angulation” and “torque”), as wellas rotation about the centerline.

Referring now to FIG. 1A, a representative jaw 100 includes sixteenteeth, at least some of which are to be moved from an initial tootharrangement to a final tooth arrangement. To understand how the teethmay be moved, an arbitrary centerline (CL) is drawn through one of theteeth 102. With reference to this centerline (CL), the teeth may bemoved in the orthogonal directions represented by axes 104, 106, and 108(where 104 is the centerline). The centerline may be rotated about theaxis 108 (root angulation) and 104 (torque) as indicated by arrows 110and 112, respectively. Additionally, the tooth may be rotated about thecenterline, as represented by arrow 114. Thus, all possible free-twinmotions of the tooth can be performed.

Referring now to FIG. 1B, the magnitude of any tooth movement is definedin terms of the maximum linear translation of any point P on a tooth102. Each point P_(i) will undergo a cumulative translation as thattooth is moved in any of the orthogonal or rotational directions definedin FIG. 1A. That is, while the point will usually follow a non-linearpath, there will be a linear distance between any point in the toothwhen determined at any two times during the treatment. Thus, anarbitrary point P_(i) may in fact undergo a true side-to-sidetranslation as indicated by arrow d₁, while a second arbitrary point P₂may travel along an arcuate path, resulting in a final translation d₂.In many situations, the maximum permissible movement of a point P_(i),in any particular tooth is defined as the maximum linear translation ofthat point P_(i), on the tooth which undergoes the maximum movement forthat tooth in any treatment step.

One tool for incrementally repositioning the teeth in a patient's jaw isa set of one or more adjustment appliances. Suitable appliances includeany of the known positioners, retainers, or other removable applianceswhich are used for finishing and maintaining teeth positions inconnection with conventional orthodontic treatment. As described below,a plurality of such appliances can be worn by a patient successively toachieve gradual tooth repositioning. A particularly advantageousappliance is the appliance 100, shown in FIG. 1C, which typicallycomprises a polymeric shell having a cavity shaped to receive andresiliently reposition teeth from one tooth arrangement to another tootharrangement. The polymeric shell typically fits over all teeth presentin the upper or lower jaw. Often, only some of the teeth will berepositioned while others will provide a base or anchor region forholding the repositioning appliance in place as it applies the resilientrepositioning force against the tooth or teeth to be repositioned. Incomplex cases, however, many or most of the teeth will be repositionedat some point during the treatment. In such cases, the teeth which aremoved can also serve as a base or anchor region for holding therepositioning appliance. The gums and the palette also serve as ananchor region in some cases, thus allowing all or nearly all of theteeth to be repositioned simultaneously.

The polymeric appliance 100 of FIG. 1C is preferably formed from a thinsheet of a suitable elastomeric polymeric, such as Tru-Tain 0.03 in.thermal forming dental material, marketed by Tru-Tain Plastics,Rochester, Minn. 55902. In many cases, no wires or other means areprovided for holding the appliance in place over the teeth. In somecases, however, it is necessary to provide individual attachments on theteeth with corresponding receptacles or apertures in the appliance 100so that the appliance can apply forces that would not be possible orwould be difficult to apply in the absence of such attachments.

Building a Digital Model of the Patients Teeth

Gathering Data about the Teeth

Referring now to FIG. 2, a method for producing the incremental positionadjustment appliances for subsequent use by a patient to reposition thepatient's teeth will be described. As a first step, a digital data setrepresenting an initial tooth arrangement is obtained, referred tohereinafter as the initial digital data set, or IDDS. The IDDS may beobtained in a variety of ways. For example, the patient's teeth may bescanned or imaged using well known technology, such as X-rays,three-dimensional X-rays, computer-aided tomographic images or datasets, and magnetic resonance images. Methods for digitizing suchconventional images to produce useful data sets are well known anddescribed in the patent and medical literature. Usually, however, aplaster cast of the patient's teeth is obtained by well knowntechniques, such as those described in Graber, Orthodontics: Principleand Practice, Second Edition, Saunders, Philadelphia, 1969, pp. 401-415.

After the tooth casting is obtained, the casting is digitally scanned bya scanner, such as a non-contact type laser or destructive scanner or acontact-type scanner, to produce the IDDS. The data set produced by thescanner may be presented in any of a variety of digital formats toensure compatibility with the software used to manipulate imagesrepresented by the data, as described in more detail below. Generaltechniques for producing plaster casts of teeth and generating digitalmodels using laser scanning techniques are described, for example, inU.S. Pat. No. 5,605,459, the full disclosure of which is incorporated inthis application by reference.

Suitable scanners include a variety of range acquisition systems,generally categorized by whether the acquisition process requirescontact with the three dimensional object being scanned. Somecontact-type scanners use probes having multiple degrees oftranslational and/or rotational freedom. A computer-readable (i.e.,digital) representation of the sample object is generated by recordingthe physical displacement of the probe as it is drawn across the samplesurface.

Conventional non-contact-type scanners include reflective-type andtransmissive-type systems. A wide variety of reflective systems are inuse today, some of which utilize non-optical incident energy sourcessuch as microwave radar or sonar. Others utilize optical energy.Non-contact-type systems that use reflected optical energy usuallyinclude special instrumentation that carries out certain measuringtechniques (e.g., imaging radar, triangulation and interferometry).

One type of non-contact scanner is an optical, reflective scanner, suchas a laser scanner. Non-contact scanners such as this are inherentlynondestructive (i.e., do not damage the sample object), generally arecharacterized by a relatively high capture resolution, and are capableof scanning a sample in a relatively short period of time. One suchscanner is the Cyberware Model 15 scanner manufactured by Cyberware,Inc., Monterey, Calif.

Both non-contact-type and contact-type scanners also can include colorcameras which, when synchronized with the scanning capabilities, providemeans for capturing, in digital format, color representations of thesample objects. The importance of this ability to capture not just theshape of the sample object but also its color is discussed below.

Other scanners, such as the CSS-1000 model destructive scanner producedby Capture Geometry Inside (CGI), Minneapolis, Minn., can provide moredetailed and precise information about a patient's teeth than a typicalrange acquisition scanner can provide. In particular, a destructivescanner can image areas that are hidden or shielded from a rangeacquisition scanner and therefore may not be subject to adequateimaging. The CSS-1000 scanner gathers image data for an object byrepeatedly milling thin slices from the object and optically scanningthe sequence of milled surfaces to create a sequence of 2D image slices,so none of the object's surfaces are hidden from the scanner. Imageprocessing software combines the data from individual slices to form adata set representing the object, which later is converted into adigital representation of the surfaces of the object, as describedbelow.

The destructive scanner may be used in conjunction with a laser scannerto create a digital model of a patient's teeth. For example, a laserscanner may be used first to build a low-resolution image of a patient'supper and lower arches coupled with the patient's wax bite, as describedbelow. The destructive scanner then may be used to form high-resolutionimages of the individual arches. The data obtained by the laser scannerindicates the relation between the patient's upper and lower teeth,which later can be used to relate to each other the images generated bythe destructive scanner and the digital models derived from them.

The destructive scanner can be used to form the initial digital data set(IDDS) of the patient's teeth by milling and scanning a physical model,such as a plaster casting, of the teeth. To ensure a consistentorientation of the casting throughout the destructive scanning process,a scanning system operator pots the casting in potting material, such asEncase-It epoxy from CGI, and cures the material in a pressure vacuum(PV) chamber to form a mold. Placing the potting material into the PVchamber ensures that the material sets relatively quickly with virtuallyno trapped air bubbles. The color of the potting material is selected tocontrast sharply with the color of the casting material to ensure theclarity of the scanned image. The operator then mounts the mold to amounting plate and places the molding plate in the destructive scanningsystem.

A slicing mechanism (“cutter”) in the destructive scanning system millsa thin slice (typically between 0.001″ and 0.006″ thick) from the mold,and a positioning arm places the milled surface near an optical scanner.The optical scanner, which may be an off-the-shelf device such as aflatbed scanner or a digital camera, scans the surface to create a 2Dimage data set representing the surface. The positioning arm thenrepositions the mold below the cutter, which again mills a thin slicefrom mold. The resulting output of the destructive scanning system is a3D image data set, which later is converted into a digital model ofsurfaces, as described in detail below. A destructive scanning systemand the corresponding destructive scanning and data processing aredescribed in U.S. Pat. No. 5,621,648.

FIG. 12 shows a scanned image 1200 of an exposed surface of a plastertooth casting 1202 embedded in an epoxy mold 1204. The black color ofthe epoxy mold 1204 provides sharp contrast with the white color of theplaster casting 1202. An orientation guide 1206 appears in a corner ofeach image slice to ensure proper alignment of the image data after thedestructive scan. The orientation guide 1206 can include a rigidstructure, such as a piece of PVC tubing, embedded in the mold 1204.

A patient's wax bite can be used to acquire the relative positions ofthe upper and lower teeth in centric occlusion. For a laser scan, thiscan be accomplished by first placing the lower cast in front of thescanner, with the teeth facing upwards, then placing the wax bite on topof the lower cast, and finally placing the upper cast on top of thelower cast, with the teeth facing downwards, resting on the wax bite. Acylindrical scan is then acquired for the lower and upper casts in theirrelative positions. The scanned data provides a digital model of mediumresolution representing an object which is the combination of thepatient's arches positioned in the same relative configuration as in themouth.

The digital model acts as a template guiding the placement of the twoindividual digital per arch). More precisely, using software, forexample the CyberWare alignment h digital arch is in turn aligned to thepair scan. The individual models are then lative to each othercorresponding to the arches in the patient's mouth.

The waxbite can also be scanned separately to provide a second set ofdata about the teeth in the upper and lower arches. In particular, theplaster cast provides a “positive” image of the patient's teeth, fromwhich one set of data is derived, and the waxbite provides a “negative”image of the teeth, from which a second, redundant set of data isderived. The two sets of data can then be matched to form a single dataset describing the patient's teeth with increased accuracy andprecision. The impression from which the plaster cast was made also canbe used instead of or in addition to the waxbite.

FIG. 13 is a flow chart of a process for deriving a single set of datafrom a positive data set and a negative data set. First, scan datarepresenting positive and negative physical tooth models is obtained(steps 1300, 1302). If the scan data was acquired through a destructivescanning process, two digital 3D geometric models are constructed fromthe data, as described below (step 1304). Scan data acquired from anoptical or range acquisition scanner system typically suffices as ageometric model. One of the geometric models is positioned to matchroughly with the other model in the digital model space (step 1306), andan optimization process is performed to determine the best match betweenthe models (step 1308). The optimization process attempts to match onepoint in each model to one point in the other model. Each pair ofmatched points then is combined into a single point to form a single setof data (step 1310). The combining of matched points can be carved outin a variety of ways, for example, by averaging the coordinates of thepoints in each pair.

While a laser scanning system typically must perform three scans toimage a patient's full set of teeth adequately (one high resolution scanfor each of the upper and lower casts and a medium resolution waxbitescan), the destructive scanning system described above can image apatient's full set of teeth adequately with only a single waxbite scan.Scanning both casts with the wax bite in place ensures that allimportant surfaces of the upper and lower teeth are captured during adestructive scan. Scanning both casts in this manner also provides ahigh resolution image data set that preserves the relation between thepatient's upper and lower teeth. Like the potting material describedabove, the wax bite should have a color that contrasts sharply with thecolor of the casting material to ensure the clarity of the scannedimage. The wax bite may be the same color as the potting material if nocontrast is desired between the waxbite and the potting material.Alternatively, the color of the wax bite may contrast sharply with thetooth casts and the potting material if an image of the wax bite isneeded.

In addition to the 3D image data gathered by laser scanning ordestructive scanning the exposed surfaces of the teeth, a user may wishto gather data about hidden features, such as the roots of the patient'steeth and the patient's jaw bones. This information is used to build amore complete model of the patient's dentition and to show with moreaccuracy and precision how the teeth will respond to treatment. Forexample, information about the roots allows modeling of all toothsurfaces, instead of just the crowns, which in turn allows simulation ofthe relationships between the crowns and the roots as they move duringtreatment. Information about the patient's jaws and gums also enables amore accurate model of tooth movement during treatment. For example, anx-ray of the patient's jaw bones can assist in identifying ankyloseteeth, and an MRI can provide information about the density of thepatient's gum tissue. Moreover, information about the relationshipbetween the patient's teeth and other cranial features allows accuratealignment of the teeth with respect to the rest of the head at each ofthe treatment steps. Data about these hidden features may be gatheredfrom many sources, including 2D and 3D x-ray systems, CT scanners, andmagnetic resonance imaging (MRI) systems. Using this data to introducevisually hidden features to the tooth model is described in more detailbelow.

Developing an orthodontic treatment plan for a patient involvesmanipulating the IDDS at a computer or workstation having a suitablegraphical user interface (GUI) and software appropriate for viewing andmodifying the images. Specific aspects of the software will be describedin detail hereinafter. However, dental appliances having incrementallydiffering geometries can be produced by non-computer-aided techniques.For example, plaster casts obtained as described above may be cut usingknives, saws, or other cutting tools in order to permit repositioning ofindividual teeth within the casting. The disconnected teeth may then beheld in place by soft wax or other malleable material, and a pluralityof intermediate tooth arrangements can then be prepared using such amodified plaster casting of the patient's teeth. The differentarrangements can be used to prepare sets of multiple appliances,generally as described below, using pressure and vacuum moldingtechniques.

Creating a 3D Surface Model of the Teeth

Many types of scan data, such as that acquired by an optical scanningsystem, provide a 3D geometric model (e.g., a triangular surface mesh)of the teeth when acquired. Other scanning techniques, such as thedestructive scanning technique described above, provide data in the formof volume elements (“voxels”) that can be converted into a digitalgeometric model of the tooth surfaces.

FIG. 14 is a flow chart of a process for forming a surface mesh fromvoxel image data. This approach involves receiving the image data fromthe destructive scanner (step 1400), processing the data to isolate theobject to be modeled (step 1401), and applying a conventional “marchingcubes” technique to create a surface mesh of the object (step 1402).

Each set of image data can include images of multiple tooth casts or ofa tooth cast and extraneous, “noisy” objects, such as air bubbles in thepotting material. The system identifies each object in the image byassigning each voxel a single-bit binary value (e.g., “0” for black and“1” for white) based on the voxel's 8-bit gray scale image value, andthen connecting adjacent voxels that have been assigned the samesingle-bit value. Each group of connected voxels represents one of theobjects in the image. The system then isolates the tooth casting to bemodeled by masking from the image all objects except the tooth castingof interest. The system removes noise from the masked image data bypassing the data through a low-pass filter.

Once the tooth casting is isolated from the image data, the systemperforms a conventional marching cubes technique to locate tooth andtissue surfaces in the image data. This technique involves theidentification of pairs of adjacent voxels having 8-bit image valuesthat fall on opposite sides of a selected threshold value. Specifically,each voxel has an associated image value, typically a number between 0and 255, that represents the image color or gray scale value at thatvoxel. Because the tooth casting and the surrounding potting materialhave sharply contrasting colors (see FIG. 12), the image values atvoxels forming the image of the tooth casting differ greatly from thevalues at voxels forming the image of the surrounding material.Therefore, the marching cube algorithm can locate the tooth surfaces byidentifying the voxels at which a sharp transition in image valueoccurs. The algorithm can position the surface precisely between twovoxels by determining the difference between the threshold value and theimage value at each voxel and then placing the surface a correspondingdistance from the centerpoint of each voxel.

In some implementations, after the marching cubes algorithm is applied,the resulting mesh undergoes a smoothing operation to reduce thejaggedness on the surfaces of the tooth model caused by the marchingcubes conversion (step 1404). A conventional smoothing operation can beused, such as one that moves individual triangle vertices to positionsrepresenting the averages of connected neighborhood vertices to reducethe angles between triangles in the mesh.

Another optional step is the application of a decimation operation tothe smoothed mesh to eliminate data points, which improves processingspeed (step 1406). Conventional decimation operations identify pairs oftriangles that lie almost in the same plane and combine each identifiedpair into a single triangle by eliminating the common vertex. Thedecimation operation used here also incorporates orthodontic-specificdecimation rules, which rely on an understanding of the generalcharacteristics of the teeth and gums and of the orthodontic appliancesthat will be used to carry out a treatment plan. For example, alignerstypically do not contact the portions of the tooth surfaces adjacent tothe gums, so these tooth surfaces can be modeled less accurately thanthe rest of the tooth. The decimation operation incorporates thisknowledge by decimating more heavily along the gum line. When anappliance such as a polymeric shell aligner will be used to treat thepatient's teeth, the algorithm also decimates more heavily on the sidesof the teeth, where the aligner usually is required only to pushorthogonally to the surface, than it decimates on the tops of the teeth,where the aligner usually must form a solid grip.

After the smoothing and decimation operations are performed, an errorvalue is calculated based on the differences between the resulting meshand the original mesh or the original data (step 1408), and the error iscompared to an acceptable threshold value (step 1410). The smoothing anddecimation operations are applied to the mesh once again if the errordoes not exceed the acceptable value. The last set of mesh data thatsatisfies the threshold is stored as the tooth model (step 1412).

Creating 3D Models of the Individual Teeth

Once a 3D model of the tooth surfaces has been constructed, models ofthe patient's individual teeth can be derived. In one approach,individual teeth and other components are “cut” to permit individualrepositioning or removal of teeth in or from the digital data. After thecomponents are “freed,” a prescription or other written specificationprovided by the treating professional is followed to reposition theteeth. Alternatively, the teeth may be repositioned based on the visualappearance or based on rules and algorithms programmed into thecomputer. Once an acceptable final arrangement has been created, thefinal tooth arrangement is incorporated into a final digital data set(FDDS).

Based on both the IDDS and the FDDS, a plurality of intermediate digitaldata sets (INTDDS's) are generated to correspond to successiveintermediate tooth arrangements. The system of incremental positionadjustment appliances can then be fabricated based on the INTDDS's, asdescribed in more detail below. Segmentation of individual teeth fromthe tooth model and determining the intermediate and final positions ofteeth also are described in more detail below.

Simplifying the 3D Model

FIG. 3 illustrates a representative technique for user-assistedmanipulation of the IDDS to produce the FDDS on the computer. Usually,the data from the digital scanner is acquired in high resolution form.In order to reduce the computer time necessary to generate images, aparallel set of digital data representing the IDDS at a lower resolutioncan be created. The user can manipulate the lower resolution imageswhile the computer updates the high resolution data set as necessary.The user can also view and manipulate the high resolution model if theextra detail provided in that model is useful. The IDDS also can beconverted into a quad edge data structure if not already present in thatform. A quad edge data structure is a standard topological datastructure defined in Primitives for the Manipulation of GeneralSubdivisions and the Computation of Voronoi Diagrams, ACM Transactionsof Graphics, Vol. 4, No. 2; April 1985, pp. 74-123. Other topologicaldata structures, such as the winged-edge data structure, could also beused.

As an initial step, while viewing the three-dimensional image of thepatient's jaw, including the teeth, gingivae, and other oral tissue, theuser usually deletes structures which are unnecessary for imagemanipulation and final production of an appliance. These unwantedsections of the model may be removed using an eraser tool to perform asolid modeling subtraction. The tool is represented by a graphic box.The volume to be erased (the dimensions, position, and orientation ofthe box) are set by the user employing the GUI. Typically, unwantedsections would include extraneous gum area and the base of theoriginally scanned cast. Another application for this tool is tostimulate the extraction of teeth and the “shaving down” of toothsurfaces. This is necessary when additional space is needed in the jawfor the final positioning of a tooth to be moved. The treatingprofessional may choose to determine which teeth will be shaved andwhich teeth will be extracted. Shaving allows the patient to maintainteeth when only a small amount of space is needed. Typically, extractionand shaving are used in the treatment planning only when the actualpatient teeth are to be extracted or shaved prior to initiatingrepositioning.

Removing unwanted or unnecessary sections of the model increases dataprocessing speed and enhances the visual display. Unnecessary sectionsinclude those not needed for creation of the tooth repositioningappliance. The removal of these unwanted sections reduces the complexityand size of the digital data set, thus accelerating manipulations of thedata set and other operations.

After the user positions and sizes the eraser tool and instructs thesoftware to erase the unwanted section, all triangles within the box setby the user are removed and the border triangles are modified to leave asmooth, linear border. The software deletes all of the triangles withinthe box and clips all triangles which cross the border of the box. Thisrequires generating new vertices on the border of the box. The holescreated in the model at the faces of the box are retriangulated andclosed using the newly created vertices.

In alternative embodiments, the computer automatically simplifies thedigital model by performing the user-oriented functions described above.The computer applies a knowledge of orthodontic relevance to determinewhich portions of the digital model are unnecessary for imagemanipulation.

Segmenting the Teeth in the 3D Model Human-Assisted Segmentation

The saw tool is used to define the individual teeth (or possibly groupsof teeth) to be moved. The tool separates the scanned image intoindividual graphic components enabling the software to move the tooth orother component images independent of remaining portions of the model.In one embodiment, the saw tool defines a path for cutting the graphicimage by using two cubic B-spline curves lying in space, possiblyconstrained to parallel planes, either open or closed. A set of linesconnects the two curves and shows the user the general cutting path. Theuser may edit the control points on the cubic B-splines, the thicknessof the saw cut, and the number of erasers used, as described below.

In an alternative embodiment, the teeth are separated by using the sawas a “coring” device, cutting the tooth from above with vertical sawcuts. The crown of the tooth, as well as the gingivae tissue immediatelybelow the crown are separated from the rest of the geometry, and treatedas an individual unit, referred to as a tooth. When this model is moved,the gingivae tissue moves relative to the crown, creating a first orderapproximation of the way that the gingivae will reform within apatient's mouth.

Each tooth may also be separated from the original trimmed model.Additionally, a base may be created from the original trimmed model bycutting off the crowns of the teeth. The resulting model is used as abase for moving the teeth. This facilitates the eventual manufacture ofa physical mold from the geometric model, as described below.

Thickness: When a cut is used to separate a tooth, the user will usuallywant the cut to be as thin as possible. However, the user may want tomake a thicker cut, for example, when shaving down surrounding teeth, asdescribed above. Graphically, the cut appears as a curve bounded by thethickness of the cut on one side of the curve.

Number of Erasers: A cut is comprised of multiple eraser boxes arrangednext to each other as a piecewise linear approximation of the Saw Tool'scurve path. The user chooses the number of erasers, which determines thesophistication of the curve created: the greater the number of segments,the more accurately the cutting will follow the curve. The number oferasers is shown graphically by the number of parallel lines connectingthe two cubic B-spline curves. Once a saw cut has been completelyspecified the user applies the cut to the model. The cut is performed asa sequence of erasings, as shown in FIG. 4A. FIG. 4B shows a singleerasing iteration of the cut as described in the algorithm for an openended B-spline curve. For a vertical cut, the curves are closed, withP_(A) [O] and P_(A) [S] being the same point and P_(B) [O] and P_(B) [S]being the same point.

In one embodiment, the software may automatically partition the saw toolinto a set of erasers based upon a smoothness measure input by the user.The saw is adaptively subdivided until an error metric measures thedeviation from the ideal representation to the approximaterepresentation to be less than a threshold specified by the smoothnesssetting. One error metric compares the linear length of the subdividedcurve to the arclength of the ideal spline curve. When the difference isgreater than a threshold computed from the smoothness setting, asubdivision point is added along the spline curve.

A preview feature may also be provided in the software. The previewfeature visually displays a saw cut as the two surfaces that representopposed sides of the cut. This allows the user to consider the final cutbefore applying it to the model data set.

After the user has completed all desired cutting operations with the sawtool, multiple graphic solids exist. However, at this point, thesoftware has not determined which triangles of the quad edge datastructure belong to which components. The software chooses a randomstarting point in the data structure and traverses the data structureusing adjacency information to find all of the triangles that areattached to each other, identifying an individual component. Thisprocess is repeated starting with the triangle whose component is notyet determined. Once the entire data structure is traversed, allcomponents have been identified.

To the user, all changes made to the high resolution model appear tooccur simultaneously in the low resolution model, and vice versa.However, there is not a one-to-one correlation between the differentresolution models. Therefore, the computer “matches” the high resolutionand low resolution components as best as it can subject to definedlimits. One process for doing so is described in FIG. 5.

Automated Segmentation

The system can optionally include a segmentation subsystem that performsautomatic or semi-automatic segmentation of the 3D dentition model intomodels of individual teeth. The segmentation subsystem is advantageouslyimplemented as one or more computer program processes implementing asegmentation process. In alternative implementations, the segmentationprocess can act on the 3D volume data or on the 3D surface mesh. Thesegmentation process applies conventional feature detection techniquestailored to exploit the characteristics and known features of teeth. Forexample, feature detection algorithms generally act on images in whichthe features to be distinguished from each other have different colorsor shades of gray. Features to be detected also usually are separatedspatially from each other. However, features to be detected in a 2D or3D image of a plaster tooth casting (e.g., the individual teeth and thegum tissue) all have the same color (white), and some features, such asan individual tooth and the surrounding gum tissue, have no spatialseparation.

The segmentation process can be implemented to employ any of severalfeature detection techniques and advantageously uses a combination oftechniques to increase the accuracy of feature identification. Onefeature detection technique uses color analysis to distinguish objectsbased on variations in color. Color analysis can be used in situationswhere individual teeth are separated by gaps large enough for thepotting material to fill. Because the tooth casting and the pottingmaterial have contrasting colors, these teeth appear in the model aswhite areas separated by thin strips of black.

Another feature detection technique uses shape analysis to distinguishcertain features, such as tooth from gum. In general, tooth surfaces aresmooth while gum surfaces have texture, and the teeth and gums typicallyform a U-shaped ridge where they meet. Detecting these features throughshape analysis assists in distinguishing tooth from gum. Shape analysiscan also detect individual teeth, for example by searching for thelargest objects in the 3D image or by recognizing the cusps of a molaras four isolated patches of one color arranged in a certain pattern. Onecusp-detection algorithm is described below.

Other feature detection techniques use databases of known cases orstatistical information against which a particular 3D image is matchedusing conventional image pattern matching and data fitting techniques.One such technique, known as “Maximum a posteriori” (MAP), uses priorimages to model pixel values corresponding to distinct object types(classes) as independent random variables with normal (Gaussian)distributions whose parameters (mean and variance) are selectedempirically. For each class, a histogram profile is created based on aGaussian distribution with the specified mean and variance. The priorimages supply for each pixel and each class the probability that thepixel belongs to the class, a measure which reflects the relativefrequency of each class. Applying Bayes' Rule to each class, the pixelvalues in the input image are scaled according to the priorprobabilities, then by the distribution function. The result is aposterior probability that each pixel belongs to each class. The Maximuma posteriori (MAP) approach then selects for each pixel the class withthe highest posterior probability as the output of the segmentation.

Another feature detection technique uses automatic detection of toothcusps. Cusps are pointed projections on the chewing surface of a tooth.In one implementation, cusp detection is performed in two stages: (1) a“detection” stage, during which a set of points on the tooth aredetermined as candidates for cusp locations; and (2) a “rejection”stage, during which candidates from the set of points are rejected ifthey do not satisfy a set of criteria associated with cusps.

One process for the “detection” stage is set forth in FIG. 6A. In thedetection stage, a possible cusp is viewed as an “island” on the surfaceof the tooth, with the candidate cusp at the highest point on theisland. “Highest” is measured with respect to the coordinate system ofthe model, but could just as easily be measured with respect to thelocal coordinate system of each tooth if detection is performed afterthe cutting phase of treatment.

The set of all possible cusps is determined by looking for all localmaxima on the tooth model that are within a specified distance of thetop of the bounding box of the model. First, the highest point on themodel is designated as the first candidate cusp. A plane is passedthrough this point, perpendicular to the direction along which theheight of a point is measured. The plane is then lowered by a smallpredetermined distance along the Z axis. Next, all vertices connected tothe tooth and which are above the plane and on some connected componentare associated with the candidate cusp as cusps. This step is alsoreferred to as the “flood fill” step. From each candidate cusp point,outward “flooding” is performed, marking each vertex on the modelvisited in this matter as “part of the corresponding candidate cusp.After the flood fill step is complete, every vertex on the model isexamined. Any vertex that is above the plane and has not been visited byone of the flood fills is added to the list of candidate cusps. Thesesteps are repeated until the plane has traveled a specified distance.

While this iterative approach can be more time consuming than a localmaximum search, the approach described above leads to a shorter list ofcandidate cusps. Since the plane is lowered a finite distance at eachstep, very small local maxima that can occur due to noisy data areskipped over.

After the “detection” stage, the cusp detection algorithm proceeds withthe “rejection” stage. One process for the “rejection” stage is setforth in FIG. 6B. In this stage the local geometries around each of cuspcandidates are analyzed to determine if they possess “non-cusp-likefeatures.” Cusp candidates that exhibit “non-cusp-like features” areremoved from the list of cusp candidates.

Various criteria may be used to identify “non-cusp-like features.”According to one test, the local curvature of the surface around thecusp candidate is used to determine whether the candidate possessesnon-cusp-like features. As depicted in FIG. 6B, the local curvature ofthe surface around the cusp candidate is approximated and then analyzedto determine if it is too large (very pointy surface) or too small (veryflat surface), in which case the candidate is removed from the list ofcusp candidates. Conservative values are used for the minimum andmaximum curvature values to ensure that genuine cusps are not rejectedby mistake.

Under an alternative test, a measure of smoothness is computed based onthe average normal in an area around the candidate cusp. If the averagenormal deviates from the normal at the cusp by more than a specifiedamount, the candidate cusp is rejected. In one embodiment, the deviationof a normal vector N from the cusp normal CN is approximated by theformula:

deviation=1−Abs(N·CN),

which is zero at no deviation, and 1 when N and CN are perpendicular.

For both the human-assisted and automated segmentation techniques, theclinician can simplify the tooth identification process by marking thephysical tooth model before the model is scanned. Upon scanning, thesemarks become part of the digital tooth model. The types of marks thatthe clinician might use include marks identifying the rotational axis ofa tooth, marks identifying the principal axis of a tooth (e.g., astraight line marked on the tooth's occlusal edge), and marksidentifying the boundaries between teeth. A mark identifying therotational axis of a tooth often is used to restrict how the tooth canrotate during the course of treatment. The clinician also may wish topaint the teeth in the physical model with various colors to assist insegmenting the individual teeth from the digital tooth model.

Adding Roots and Hidden Tooth Surfaces to the Individual Tooth Models

The system can optionally be configured to add roots and hidden surfacesto the tooth models to allow more thorough and accurate simulation oftooth movement during treatment. In alternative implementations, thisinformation is added automatically without human assistance,semi-automatically with human assistance, or manually by human operator,using a variety of data sources.

In some implementations, 2D and 3D imaging systems, such as x-raysystems, computed tomography (CT) scanners, and MRI systems, are used togather information about the roots of the patient's teeth. For example,several 2D x-ray images of a tooth taken in different planes allow theconstruction of a 3D model of the tooth's roots. Information about theroots is available by visual inspection of the x-ray image and byapplication of a computer-implemented feature identification algorithmto the x-ray data. The system adds the roots to the tooth model bycreating a surface mesh representing the roots. Physical landmarks onthe patient's teeth, e.g., cavities or cusps, are extracted from the 2Dand 3D data and are used to register the roots to the tooth model. Likethe roots, these landmarks can be extracted manually or by use of afeature detection algorithm.

Another alternative for the addition of roots and hidden surfaces is tomodel typical root and crown shapes and to modify the digital model ofeach tooth to include a root or a hidden surface corresponding to atypical shape. This approach assumes that the roots and hidden surfacesof each patient's teeth have typical shapes. A geometric model of eachtypical shape is acquired, e.g., by accessing an electronic database oftypical root and crown models created before the analysis of aparticular patient's teeth begins. Portions of the typical root andcrown models are added to the individual tooth models as needed tocomplete the individual tooth models.

Yet another alternative for the addition of roots and hidden surfaces isthe extrapolation of the 3D tooth model to include these features basedon observed characteristics of the tooth surfaces. For example, thesystem can use the curvature of a particular molar between the tips ofthe cusps and the gumline to predict the shape of the roots for thatmolar. In other implementations, x-ray and CT scan data of a patient'steeth are used to provide comparison points for extrapolation of thepatient's roots and hidden surfaces. Models of typical root and crownshapes also can be used to provide comparison points for root and hiddensurface extrapolation.

Determining the Final Tooth Positions

Once the teeth have been separated, the FDDS can be created from theIDDS. The FDDS is created by following the orthodontists' prescriptionto move the teeth in the model to their final positions. In oneembodiment, the prescription is entered into a computer, whichautomatically computes the final positions of the teeth. In alternativeother embodiments, a user moves the teeth into their final positions byindependently manipulating one or more teeth while satisfying theconstraints of the prescription. Various combinations of the abovedescribed techniques may also be used to arrive at the final toothpositions.

One method for creating the FDDS involves moving the teeth in aspecified sequence. First, the centers of each of the teeth are alignedto a standard arch. Then, the teeth are rotated until their roots are inthe proper vertical position. Next, the teeth are rotated around theirvertical axis into the proper orientation. The teeth are then observedfrom the side, and translated vertically into their proper verticalposition. The inclusion of roots in the tooth models, described morefully above, ensures the proper vertical orientation of the entiretooth, not just the crown. Finally, the two arches are placed together,and the teeth moved slightly to ensure that the upper and lower archesproperly mesh together. The meshing of the upper and lower archestogether is visualized using a collision detection process to highlightthe contacting points of the teeth in red.

Apart from its role in identifying individual teeth, cusp detection alsois useful in determining final tooth orientation. For example, the cuspson a typical molar are relatively level when the tooth is orientedvertically, so the relative positions of the cusp tips indicate thetooth's position. Cusp detection therefore is incorporated into thefinal position determination.

One tool for use in visualizing the interaction of a patient's upper andlower teeth at the final positions is a computer-implemented “virtual”articulator. The virtual articulator provides a graphical display thatsimulates the operation of the patient's jaw or the operation of aconventional mechanical articulator attached to a physical model of thepatient's teeth. In particular, the virtual articulator orients thedigital models of the patient's upper and lower arches in the samemanner that the patient's physical arches will be oriented in thepatient's mouth at the end of treatment. The articular then moves thearch models through a range of motions that simulate common motions ofthe human jaw.

The quality of the virtual articulator's simulation depends on the typesof information used to create the articulator and the tooth models. Insome implementations, the virtual articulator includes a digital modelof a mechanical articular created, for example, from a computer-aideddrafting (CAD) file or image data gathered during a laser scan of thearticulator. Other implementations include a digital model of human jawscreated, for example, from 2D or 3D x-ray data, CT scan data, ormechanical measurements of the jaws, or from a combination of thesetypes of data. In many respects, the most useful virtual articulator isthe one that simulates the jaws of the patient whose teeth are beingtreated, which is created from image data or mechanical measurements ofthe patient's head.

Animation instructions define the movements that the virtual articulatorsimulates. Like the articulator itself, the animation instructions arederived from a variety of sources. The animation instructions associatedwith the simulation of a mechanical articulator require little more thana mathematical description of the motion of a mechanical hinge. Avirtual articulator simulating the human jaw, on the other hand,requires a more complex set of instructions, based on human anatomicaldata. One method of building this set of instructions is the derivationof mathematical equations describing the common motions of an idealhuman jaw. Another method is through the use of a commercially availablejaw-tracking system, which contacts a person's face and provides digitalinformation describing the motion of the lower jaw. X-ray and CT scandata also provide information indicating how the teeth and jaws relateto each other and to the rest of the person's head. Jaw-tracking systemsand x-ray and CT scan data are particularly useful in developing anarticulator that simulates a particular patient's anatomy.

As the virtual articulator simulates the motion of a patient's teeth, acollision detection process, such as one implementing the orientedbounding box (OBB) algorithm described below, determines whether and howthe patient's teeth will collide during the normal course of oralmotion. Visual indicators, such as red highlights, appear on a displayedimage of the teeth to indicate collision points. The final toothpositions are adjusted, automatically or manually, to avoid collisionsdetected by the collision detection algorithm.

An automated system for determining final tooth positions and creatingthe FDDS is described in the above-mentioned U.S. patent applicationSer. No. 09/169,036. That application describes a computer-implementedprocess for generating a set of final positions for a patient's teeth.The process involves creating an ideal model of final tooth positionsbased on “ideal” tooth arrangements, repositioning the individual teethin a digital model of the patient's teeth to mimic the ideal model, andmodeling the motion of the patient's jaw to perfect the final tootharrangement.

The display and use of orthodontic-specific information also assists inthe determination of final tooth positions. In some implementations, auser can elect to have malocclusion indices, such as Peer AssessmentReview (PAR) metrics, shape-based metrics, or distance-based metrics,calculated and displayed with the final tooth positions. If the user isnot satisfied with values of the displayed index or indices, the usercan adjust the final tooth positions manually until the parameters fallwithin acceptable ranges. If the tooth positioning system is fullyautomated, the orthodontic-specific parameters are provided as feedbackand used to adjust the final tooth positions until the parameters fallwithin acceptable ranges.

For human-assisted tooth positioning, the human user also can elect tohave positioning tips displayed. Tips are available, for example, tosuggest a treatment path for an individual tooth and to warn ofexcessive forces that might cause patient discomfort or compromise themechanical integrity of the orthodontic appliance. Tips also areavailable to suggest target positions that best suit the patient's jawstructure and that ensure proper inner digitation and occlusionparameters.

Determining the Steps from the Initial to the Final Position

After the teeth and other components have been placed or removed toproduce a model of the final tooth arrangement, it is necessary togenerate a treatment plan, as illustrated in FIG. 7. The treatment planwill ultimately produce the series of INTDDS's and FDDS as describedpreviously. To produce these data sets, it is necessary to define or mapthe movement of selected individual teeth from the initial position tothe final position over a series of successive steps. In addition, itmay be necessary to add other features to the data sets in order toproduce desired features in the treatment appliances. For example, itmay be desirable to add wax patches to the image in order to definecavities or recesses for particular purposes, such as to maintain aspace between the appliance and particular regions of the teeth or jawin order to reduce soreness of the gums, avoid periodontal problems,allow for a cap, and the like. Additionally, it will often be necessaryto provide a receptacle or aperture intended to accommodate an anchorwhich is to be placed on a tooth in order to permit the tooth to bemanipulated in a manner that requires the anchor, e.g., to be liftedrelative to the jaw.

Accounting for Physical Constraints and Additions to the Model

Some methods for manufacturing the tooth repositioning appliancesrequire that the separate, repositioned teeth and other components beunified into a single continuous structure in order to permitmanufacturing. In these instances, “wax patches” are used to attachotherwise disconnected components of the INTDDS's. These patches areadded to the data set underneath the teeth and above the gum so thatthey do not affect the geometry of the tooth repositioning appliances.The application software provides for a variety of wax patches to beadded to the model, including boxes and spheres with adjustabledimensions. The wax patches that are added are treated by the softwareas additional pieces of geometry, identical to all other geometries.Thus, the wax patches can be repositioned during the treatment path, ascan the teeth and other components. One method of separating the teethusing vertical coring, as described above, removes the need for most ofthese “wax patches”.

In the manufacturing process, adding a wax patch to the graphic modelwill generate a positive mold that has the same added wax patchgeometry. Because the mold is a positive of the teeth and a polymericappliance is a negative of the teeth, when the appliance is formed overthe mold, the appliance will also form around the wax patch that hasbeen added to the mold. When placed in the patient's mouth, theappliance will thus allow for a space between the inner cavity surfaceof the appliance and the patient's teeth or gums. Additionally, the waxpatch may be used to form a recess or aperture within the appliancewhich engages an anchor placed on the teeth in order to move the toothin directions which could not otherwise be accomplished.

For some patients an optimal treatment plan requires the interaction ofaligners with tooth attachments, such as brackets and anchors, to ensureproper orthodontic correction in a reasonable amount of time. In thesesituations, the aligners must grip the attachments to ensure that theproper force is exerted on the patient's teeth. For example, an alignermay be designed to grip an anchor planted in the patient's jaw to movethe patient's teeth back in the jaw. Likewise, an aligner may grip abracket attached to a patient's tooth to increase the aligner's leverageor grip on the tooth.

The creation of digital attachment models allows the system to model theeffects of attachments in analyzing the digital model of a patient'steeth. Each attachment model represents a physical attachment that maybe placed in a patient's mouth, generally on a tooth, during the courseof treatment. Many attachments, such as conventional brackets, areavailable in standard shapes and sizes, the models of which can beselected from a library of virtual attachments and added to a patient'stooth model. Other attachments are patient-specific and must be modeledby the user for inclusion in the digital tooth model. The presence ofvirtual attachments in a patient's tooth model ensures that the alignersfabricated for the patient's treatment plan will accommodate thecorresponding physical attachments placed in the patient's mouth duringtreatment.

The wax patches and virtual attachments described above, and individualcomponents of the tooth model, can be reduced or enlarged in size, whichwill result in a manufactured appliance having a tighter or looser fit.

Selecting the Intermediate Treatment Stages

Number of Treatment Stages: The user can change the number of desiredtreatment stages from the initial to the target states of the teeth. Anycomponent that is not moved is assumed to remain stationary, and thusits final position is assumed to be the same as the initial position(likewise for all intermediate positions, unless one or more key framesare defined for that component).

Key frames: The user may also specify “key frames” by selecting anintermediate state and making changes to component position(s). In someembodiments, unless instructed otherwise, the software automaticallylinearly interpolates between all user-specified positions (includingthe initial position, all key frame positions, and the target position).For example, if only a final position is defined for a particularcomponent, each subsequent stage after the initial stage will simplyshow the component an equal linear distance and rotation (specified by aquaternion) closer to the final position. If the user specifies two keyframes for that component, the component will “move” linearly from theinitial position through different stages to the position defined by thefirst key frame. It will then move, possibly in a different direction,linearly to the position defined by the second key frame. Finally, itwill move, possibly in yet a different direction, linearly to the targetposition.

These operations may be done independently to each component, so that akey frame for one component will not affect another component, unlessthe other component is also moved by the user in that key frame. Onecomponent may accelerate along a curve between one pair of stages (e.g.,stages 3 and 8 in a treatment plan having that many stages), whileanother moves linearly between another pair of stages (e.g., stages 1 to5), and then changes direction suddenly and slows down along a linearpath to a later stage (e.g., stage 10). This flexibility allows a greatdeal of freedom in planning a patient's treatment.

In some implementations, non-linear interpolation is used instead of orin addition to linear interpolation to construct a treatment path amongkey frames. In general, a non-linear path, such as a spline curve,created to fit among selected points is shorter than a path fowled fromstraight line segments connecting the points. A “treatment path”describes the transformation curve applied to a particular tooth to movethe tooth from its initial position to its final position. A typicaltreatment path includes some combination of rotational and translationalmovement of the corresponding tooth, as described above.

FIGS. 15A and 15B show a linearly interpolated treatment path and anon-linearly interpolated path, respectively, connecting an initialtooth position Ito a final tooth position F. The linearly interpolatedpath consists of straight line segments connecting the initial and finaltooth positions as well as the four intermediate tooth positions I₁, I₂,I₃, I₄. The non-linear interpolated path consists of a curved linefitted among the intermediate tooth positions. The curved path can beformed using a conventional spline-curve fitting algorithm.

FIG. 16 is a flow chart of a computer-implemented process for generatingnon-linear treatment paths along which a patient's teeth will travelduring treatment. The non-linear paths usually are generatedautomatically by computer program, in some cases with human assistance.The program receives as input the initial and final positions of thepatient's teeth and uses this information to select intermediatepositions for each tooth to be moved (step 1600). The program thenapplies a conventional spline curve calculation algorithm to create aspline curve connecting each tooth's initial position to the tooth'sfinal position (step 1602). In many situations, the curve is constrainedto follow the shortest path between the intermediate positions. Theprogram then samples each spline curve between the intermediatepositions (step 1604) and applies the collision detection algorithm tothe samples (step 1606). If any collisions are detected, the programalters the path of at least one tooth in each colliding pair byselecting a new position for one of the intermediate steps (step 1608)and creating a new spline curve (1602). The program then samples the newpath (1604) and again applies the collision detection algorithm (1606).The program continues in this manner until no collisions are detected.The routine then stores the paths, e.g., by saving the coordinates ofeach point in the tooth at each position on the path in an electronicstorage device, such as a hard disk (step 1610).

The path-generating program, whether using linear or non-linearinterpolation, selects the treatment positions so that the tooth'streatment path has approximately equal lengths between each adjacentpair of treatment steps. The program also avoids treatment positionsthat force portions of a tooth to move with more than a given maximumvelocity. FIG. 15C shows a tooth that is scheduled to move along a firstpath T1 from an initial position T1₁ to a final position T1₃ through anintermediate position T1₂, which lies closer to the final position T1₃.Another tooth is scheduled to move along a shorter path T2 from aninitial position T2₁ to a final position T2₃ through an intermediateposition T2₂, which is equidistant from the initial and final positionsT2₁, T2₃. In this situation, the program may choose to insert a secondintermediate position T1₄ along the first path T1 that is approximatelyequidistant from the initial position T1₁ and the intermediate positionT1₂ and that is separated from these two positions by approximately thesame distance that separates the intermediate position T1₂ from thefinal position T1₃.

Altering the first path T1 in this manner ensures that the first toothwill move in steps of equal size. However, altering the first path T1also introduces an additional treatment step having no counterpart inthe second path T2. The program can respond to this situation in avariety of ways, such as by allowing the second tooth to remainstationary during the second treatment step (i.e., as the first toothmoves from one intermediate position T1₄ to the other intermediateposition T1₃) or by altering the second path T2 to include fourequidistant treatment positions. The program determines how to respondby applying a set of orthodontic constraints that restrict the movementof the teeth.

Orthodontic constraints that may be applied by the path-generatingprogram include the minimum and maximum distances allowed betweenadjacent teeth at any given time, the maximum linear or rotationalvelocity at which a tooth should move, the maximum distance over which atooth should move between treatment steps, the shapes of the teeth, thecharacteristics of the tissue and bone surrounding the teeth (e.g.,ankylose teeth cannot move at all), and the characteristics of thealigner material (e.g., the maximum distance that the aligner can move agiven tooth over a given period of time). For example, the patient's ageand jaw bone density may dictate certain “safe limits” beyond which thepatient's teeth should not be forced to move. In general, a gap betweentwo adjacent, relatively vertical and non-tipped central and lateralteeth should not close by more than about 1 mm every seven weeks. Thematerial properties of the orthodontic appliance also limit the amountby which the appliance can move a tooth. For example, conventionalretainer materials usually limit individual tooth movement toapproximately 0.5 mm between treatment steps. The constraints havedefault values that apply unless patient-specific values are calculatedor provided by a user. Constraint information is available from avariety of sources, including text books and treating clinicians.

In selecting the intermediate positions for each tooth, thepath-generating program invokes the collision detection program todetermine whether collisions will occur along the chosen paths. Theprogram also inspects the patient's occlusion at each treatment stepalong the path to ensure that the teeth align to form an acceptable bitethroughout the course of treatment. If collisions or an unacceptablebite will occur, or if a required constraint cannot be satisfied, theprogram iteratively alters the offending tooth path until all conditionsare met. The virtual articulator described above is one tool for testingbite occlusion of the intermediate treatment positions.

As shown in FIG. 17, once the path-generating program has establishedcollision-free paths for each tooth to be moved, the program calls anoptimization routine that attempts to make the transformation curve foreach tooth between the initial and final positions more linear. Theroutine begins by sampling each treatment path at points betweentreatment steps (step 1702), e.g., by placing two sample points betweeneach treatment step, and calculating for each tooth a more lineartreatment path that fits among the sample points (step 1704). Theroutine then applies the collision detection algorithm to determinewhether collisions result from the altered paths (step 1706). If so, theroutine resamples the altered paths (step 1708) and then constructs foreach tooth an alternative path among the samples (step 1710). Theroutine continues in this manner until no collisions occur (step 1712).

In some embodiments, as alluded to above, the software automaticallycomputes the treatment path, based upon the IDDS and the FDDS. This isaccomplished using a path scheduling algorithm which determines the rateat which each component, i.e., each tooth, moves along the path from theinitial position to the final position. The path scheduling algorithmdetermines the treatment path while avoiding “round-tripping,” i.e.,while avoiding moving a tooth along a distance greater than absolutelynecessary to straighten the teeth. Such motion is highly undesirable,and has potential negative effects on the patient.

One implementation of the path scheduling algorithm attempts first toschedule or stage the movements of the teeth by constraining each toothto the most linear treatment path between the initial and finalpositions. The algorithm then resorts to less direct routes to the finalpositions only if collisions will occur between teeth along the linearpaths or if mandatory constraints will be violated. The algorithmapplies one of the path-generation processes described above, ifnecessary, to construct a path for which the intermediate treatmentsteps do not lie along a linear transformation curve between the initialand final positions. Alternatively, the algorithm schedules treatmentpaths by drawing upon a database of preferred treatments for exemplarytooth arrangements. This database can be constructed over time byobserving various courses of treatment and identifying the treatmentplans that prove most successful with each general class of initialtooth arrangements. The path scheduling algorithm can create severalalternative paths and present each path graphically to the user. Thealgorithm provides as output the path selected by the user.

In other implementations, the path scheduling algorithm utilizes astochastic search technique to find an unobstructed path through aconfiguration space which describes possible treatment plans. Oneapproach to scheduling motion between two user defined global key framesis described below. Scheduling over a time interval which includesintermediate key frames is accomplished by dividing the time intervalinto subintervals which do not include intermediate key frames,scheduling each of these intervals independently, and then concatenatingthe resulting schedules.

Flow chart 120 in FIG. 8A depicts a simplified path schedulingalgorithm. As shown in FIG. 8A, first step 122 involves construction ofthe “configuration space” description. A “configuration,” in thiscontext refers to a given set of positions of all the teeth beingconsidered for movement. Each of these positions may be described inmultiple ways. In a common implementation, the positions are describedby one affine transformation to specify change in location and onerotational transformation to specify the change in orientation of atooth from its initial position to its final position. The intermediatepositions of each tooth are described by a pair of numbers which specifyhow far to interpolate the location and orientation between the twoendpoints. A “configuration” thus consists of two numbers for each toothbeing moved, and the “configuration space” refers to the space of allsuch number pairs. Thus, the configuration space is a Cartesian space,any location in which can be interpreted as specifying the positions ofall teeth.

The affine transformation describing the movement of each tooth from itsstarting position to its ending position is decomposed intotranslational and rotational components; these transformations areindependently interpolated with scalar parameters which are consideredtwo dimensions of the configuration space. The entire configurationspace thus consists of two dimensions per moved tooth, all of which aretreated equivalently during the subsequent search.

The configuration space is made of “free space” and “obstructed space.”“Free” configurations are those which represent valid, physicallyrealizable positions of teeth, while “obstructed” configurations arethose which do not. To determine whether a configuration is free orobstructed, a model is created for the positions of the teeth which theconfiguration describes. A collision detection algorithm is then appliedto determine if any of the geometries describing the tooth surfacesintersect. If there are no obstructions, the space is considered free;otherwise it is obstructed. Suitable collision detection algorithms arediscussed in more detail below.

At step 124, a “visibility” function V(s_(i) s₂) is defined which takestwo vectors in the configuration space, “s₁” and “s₂”, as input andreturns a true or false boolean value. The visibility function returns atrue value if and only if a straight line path connecting s₁ and s₂passes entirely through a free and unobstructed region of theconfiguration space. One process for carrying out the visibilityfunction is set forth in FIG. 8B. The visibility function isapproximately computed by testing the teeth model for interferences atdiscretely sampled points along the line s_(i)-s₂. Techniques such asearly termination on failure and choosing the order of sample points byrecursively subdividing the interval to be tested, may be used toincrease the efficiency of the visibility function.

At step 126 of FIG. 8A, a “children” function C(s) is defined whoseinput parameter, “s”, is a vector in the configuration space and whichreturns a set of vectors “s_(c)” in the configuration space. FIG. 8Cdepicts a simplified flow chart illustrating the steps followed forcomputing children function C(s). Each vector within set s_(c) satisfiesthe property that V(s, s_(c)) is true and that each of its componentsare greater than or equal to the corresponding component of “s.” Thisimplies that any state represented by such a vector is reachable from“s_(c)” without encountering any interferences and without performingany motion which is not in the direction prescribed by treatment. Eachvector of set “s_(c)” is created by perturbing each component of “s_(c)”by some random, positive amount. The visibility function V(s, sc) isthen computed and “s” added to the set “s_(c)” if the visibilityfunction returns a true boolean value. Additionally, for each suchvector generated, a pointer to its parent “s” is recorded for later use.

After the configuration space has been defined, at step 128, pathscheduling is performed between an initial state “s_(init)” and a finalstate “s_(final)”. FIG. 8D depicts a flow chart for performing step 128depicted in FIG. 8A. As illustrated in FIG. 8D, at step 128 a, a set ofstates “W” is defined to initially contain only the initial states_(init). Next, at step 128 b, the visibility function is invoked todetermine if V(s, s_(final)) is true for at least one state s_(i), in W.If the visibility function returns a false boolean value, at step 128 c,the set of states “W” is replaced with the union of C(s_(i)) for allS_(i) in W. Steps 128 b and 128 c are repeated until V(s_(i), S_(final))returns a true boolean value for any s_(i), belonging to W.

At step 128 d, for each Si for which V(s_(i), S_(final)) is true, anunobstructed path P_(i), is constructed from s_(i), to s_(init) byfollowing the parent pointers back to s_(init). At step 128 e, the pathfrom shift to s_(inal) is then constructed by concatenating the pathsP_(i) with the final step from s_(i), to S_(final). If there aremultiple paths from s_(init) to S_(final), the total length of each pathis computed at step 128 f. Finally, at step 128 g, the path with theshortest length is then chosen as the final path. The length of thechosen path corresponds to the total time and stages required for atreatment plan.

The resulting final path consists of a series of vectors, each of whichrepresents a group of values of the interpolation parameters of thetranslational and rotational components of the transformations of themoving teeth. Taken together, these constitute a schedule of toothmovement which avoids tooth-to-tooth interferences.

A collision or interference detection algorithm employed in oneembodiment is based on the algorithm described in SIGGRAPH article,Stefan Gottschalk et al. (1996): “OBBTree: A Hierarchical Structure forRapid Interference Detection.” The contents of the SIGGRAPH article areherein incorporated by reference.

The algorithm is centered around a recursive subdivision of the spaceoccupied by an object, which is organized in a binary-tree like fashion.Triangles are used to represent the teeth in the DDS. Each node of thetree is referred to as an oriented bounding box (OBB) and contains asubset of triangles appearing in the node's parent. The children of aparent node contain between them all of the triangle data stored in theparent node.

The bounding box of a node is oriented so it tightly fits around all ofthe triangles in that node. Leaf nodes in the tree ideally contain asingle triangle, but can possibly contain more than one triangle.Detecting collisions between two objects involves determining if the OBBtrees of the objects intersect. FIG. 9A sets forth a flow chartdepicting a simplified version of a recursive collision test to check ifa node “Ni” from a first object intersects with node “N2” of a secondobject. If the OBBs of the root nodes of the trees overlap, the roofschildren are checked for overlap. The algorithm proceeds in a recursivefashion until the leaf nodes are reached. At this point, a robusttriangle intersection routine is used to determine if the triangles atthe leaves are involved in a collision.

The collision detection technique described here provides severalenhancements to the collision detection algorithm described in theSIGGRAPH article. For example, OBB trees can be built in a lazy fashionto save memory and time. This approach stems from the observation thatsome parts of the model will never be involved in a collision, andconsequently the OBB tree for such parts of the model need not becomputed. The OBB trees are expanded by splitting the internal nodes ofthe tree as necessary during the recursive collision determinationalgorithm, as depicted in FIG. 9B.

Moreover, the triangles in the model which are not required forcollision data may also be specifically excluded from consideration whenbuilding an OBB tree. As depicted in FIG. 9C, additional information isprovided to the collision algorithm to specify objects in motion. Motionmay be viewed at two levels. Objects may be conceptualized as “moving”in a global sense, or they may be conceptualized as “moving” relative toother objects. The additional information improves the time taken forthe collision detection by avoiding recomputation of collisioninformation between objects which are at rest relative to each othersince the state of the collision between such objects does not change.

FIG. 18 illustrates an alternative collision detection scheme, one whichcalculates a “collision buffer” oriented along a z-axis 1802 along whichtwo teeth 1804, 1806 lie. The collision buffer is calculated for eachtreatment step or at each position along a treatment path for whichcollision detection is required. To create the buffer, an x,y plane 1808is defined between the teeth 1804, 1806. The plane must be “neutral”with respect to the two teeth. Ideally, the neutral plane is positionedso that it does not intersect either tooth. If intersection with one orboth teeth is inevitable, the neutral plane is oriented such that theteeth lie, as much as possible, on opposite sides of the plane. In otherwords, the neutral plane minimizes the amount of each tooth's surfacearea that lies on the same side of the plane as the other tooth.

In the plane 1808 is a grid of discrete points, the resolution of whichdepends upon the required resolution for the collision detectionroutine. A typical high resolution collision buffer includes a 400×400grid; a typical low-resolution buffer includes a 20×20 grid. The z-axis1802 is defined by a line normal to the plane 1808.

The relative positions of the teeth 1804, 1806 are determined bycalculating, for each of the points in the grid, the linear distanceparallel to the z-axis 1802 between the plane 1808 and the nearestsurface of each tooth 1804, 1806. For example, at any given grid point(M,N), the plane 1808 and the nearest surface of the rear tooth 1804 areseparated by a distance represented by the value Z_(1(M,N)), while theplane 1808 and the nearest surface of the front tooth 1806 are separatedby a distance represented by the value Z_(2(M,N)). If the collisionbuffer is defined such that the plane 1808 lies at z=0 and positivevalues of z lie toward the back tooth 1804, then the teeth 1804, 1806collide when Z_(1(M,N))<Z_(2(M,N)) at any grid point (M,N) on the plane1808.

FIG. 19 is a flow chart of a collision detection routine implementingthis collision buffer scheme. The routine first receives data from oneof the digital data sets indicating the positions of the surfaces of theteeth to be tested (step 1900). The routine then defines the neutralx,y-plane (step 1902) and creates the z-axis normal to the plane (step1904).

The routine then determines for the x,y-position of the first grid pointon the plane the linear distance in the z-direction between the planeand the nearest surface of each tooth (step 1906). To detect a collisionat that x,y-position, the routine determines whether the z-position ofthe nearest surface of the rear tooth is less than or equal to thez-position of the nearest surface of the front tooth (step 1908). If so,the routine creates an error message, for display to a user or forfeedback to the path-generating program, indicating that a collisionwill occur (step 1910). The routine then determines whether it hastested all x,y-positions associated with grid points on the plane (step1912) and, if not, repeats the steps above for each remaining gridpoint. The collision detection routine is performed for each pair ofadjacent teeth in the patient's mouth at each treatment step.

Incorporating a Model of an Orthodontic Appliance

Above-mentioned U.S. application Ser. No. ______ (attorney docket number09943/004001) describes an appliance modeling system that implementstechniques for modeling the interaction of the patient's teeth withorthodontic appliances designed to carry out the patient's treatmentplan. Finite element analysis is used to determine the applianceconfigurations required to move the patient's teeth to the desired finalpositions along the prescribed treatment paths. In some situations, theappliance modeling system may determine that the desired tooth movementcannot be performed within constraints that are orthodonticallyacceptable or with an appliance that is manufacturable. The appliancemodeling system therefore may determine that a tooth attachment shouldbe added to the model or that the treatment plan should be modified. Inthese situations, feedback from the appliance modeling system is used tomodify the geometric tooth models and the treatment plan accordingly.

Displaying the Treatment Plan Graphically

The system may also incorporate and the user may at any point use a“movie” feature to show an animation of the movement from initial totarget states. This is helpful for visualizing overall componentmovement throughout the treatment process.

As described above, one suitable user interface for componentidentification is a three dimensional interactive graphical userinterface (GUI). A three-dimensional GUI is also advantageous forcomponent manipulation. Such an interface provides the treatingprofessional or user with instant and visual interaction with thedigital model components. The three-dimensional GUI provides advantagesover interfaces that permit only simple low-level commands for directingthe computer to manipulate a particular segment. In other words, a GUIadapted for manipulation is better in many ways than an interface thataccepts directives, for example, only of the sort: “translate thiscomponent by 0.1 mm to the right.” Such low-level commands are usefulfor fine-tuning, but, if they were the sole interface, the processes ofcomponent manipulation would become a tiresome and time-consuminginteraction.

Before or during the manipulation process, one or more tooth componentsmay be augmented with template models of tooth roots. Manipulation of atooth model augmented with a root template is useful, for example, insituations where impacting of teeth below the gumline is a concern.These template models could, for example, comprise a digitizedrepresentation of the patient's teeth x-rays.

The software also allows for adding annotations to the data sets whichcan comprise text and/or the sequence number of the apparatus. Theannotation is added as recessed text (i.e., it is 3-D geometry), so thatit will appear on the printed positive model. If the annotation can beplaced on a part of the mouth that will be covered by a repositioningappliance, but is unimportant for the tooth motion, the annotation mayappear on the delivered repositioning appliance(s).

The above-described component identification and component manipulationsoftware is designed to operate at a sophistication commensurate withthe operator's training level. For example, the component manipulationsoftware can assist a computer operator, lacking orthodontic training,by providing feedback regarding permissible and forbidden manipulationsof the teeth. On the other hand, an orthodontist, having greater skillin intraoral physiology and teeth-moving dynamics, can simply use thecomponent identification and manipulation software as a tool and disableor otherwise ignore the advice.

FIG. 20 is a screen shot of the graphical user interface 2000 associatedwith a client viewer application through which a treating clinician isable to view a patient's treatment plan and alter or comment on theplan. The client viewer application is implemented in a computer programinstalled locally on a client computer at the clinician's site. Theviewer program downloads a data file from a remote host, such as a filetransfer protocol (FTP) server maintained by the treatment plandesigner, which can be accessed either through direct connection orthrough a computer network, such as the World Wide Web. The viewerprogram uses the downloaded file to present the treatment plangraphically to the clinician. The viewer program also can be used by thetreatment plan designer at the host site to view images of a patient'steeth.

The data downloaded by the viewer program contains a fixed subset of keytreatment positions, including the IDDS and the FDDS, that define thetreatment plan for the patient's teeth. The viewer program renders theIDDS or the FDDS to display an image of the patient's teeth at theinitial and final positions. The viewer program can display an image ofthe teeth at their initial positions (initial image 2002) and the finaltooth positions (final image 2004) concurrently.

Because the data file contains a large amount of data, the downloadsoftware in the remote host employs a “level-of-detail” technique toorganize the download into data groups with progressively increasinglevels of detail, as described below. The viewer program uses knowledgeof orthodontic relevance to render less important areas of the image ata lower quality than it renders the more important areas. Use of thesetechniques reduces the time required to generate a single rendered imageof the tooth models and the time required to display a rendered image onthe screen after the download has begun.

FIGS. 21A and 21B illustrate the use of the “level-of-detail” techniqueby the download software in the remote host. The software transfers thedata in several groups, each of which adds detail incrementally for therendered image of the teeth. The first group typically includes justenough data to render a rough polygon representation of the patient'steeth. For example, if a tooth is treated as a cube having six faces,the tooth can be rendered quickly as a diamond 2100 having six points2102 a-f, one lying in each face of the cube (FIG. 21A). The downloadsoftware begins the download by delivering a few points for each tooth,which the interface program uses to render polygon representations ofthe teeth immediately.

The download software then delivers a second data group that addsadditional detail to the rendered images of the teeth. This grouptypically adds points that allow a spheroid representation 2106 of theteeth (FIG. 21B). As the download continues, the software deliversadditional groups of data, each adding a level of detail to the renderedimage of the teeth, until the teeth are fully rendered.

The download software also improves download and rendering speed byidentifying and withholding data that is not critical to forming arendered image of the teeth. This includes data for tooth surfacesobscured by other teeth or by tissue. The software applies rules basedon common orthodontic structure to determine which data is downloadedand which is withheld. Withholding data in this manner reduces the sizeof the downloaded file and therefore reduces the number of data pointsthat the interface program must take into account when rendering theinitial and final images.

The viewer program also improves rendering speed by reducing the amountof data rendered. Like the download software, the viewer program appliesrules of orthodontic relevance to determine which areas of the image canbe rendered at lower quality. For example, the treating clinicianusually does not want to view gum tissue in detail, so the viewerprogram renders the gums at low resolution as smooth surfaces, ignoringdata that preserves the texture of the gums. Typically, the viewerprogram renders the less important areas at lower resolution beforerendering the more important areas at higher resolution. The cliniciancan request high resolution rendering of the entire image.

As shown in FIG. 20 and discussed above, the viewer program displays aninitial image 2002 of the teeth and, if requested by the clinician, afinal image 2004 of the teeth as they will appear after treatment. Theclinician can rotate the images in three dimensions to view the varioustooth surfaces, and the clinician can snap the image to any of severalpredefined viewing angles. These viewing angles include the standardfront, back, top, bottom and side views, as well as orthodontic-specificviewing angles, such as the lingual, buccal, facial, occlusal, andincisal views.

The viewer program also includes an animation routine that provides aseries of images showing the positions of the teeth at each intermediatestep along the treatment path. The clinician controls the animationroutine through a VCR metaphor, which provides control buttons similarto those on a conventional video cassette recorder. In particular, theVCR metaphor includes a “play” button 2006 that, when selected, causesthe animation routine to step through all of the images along thetreatment path. A slide bar 2008 moves horizontally a predetermineddistance with each successive image displayed. Each position of theslide bar 2008 and each image in the series corresponds to one of theintermediate treatment steps described above.

The VCR metaphor also includes a “step forward” button 2010 and a “stepback” button 2012, which allow the clinician to step forward or backwardthrough the series of images, one key frame or treatment step at a time,as well as a “fast forward” button 2014 and a “fast back” button 2016,which allow the clinician to jump immediately to the final image 2004 orinitial image 2002, respectively. The clinician also can stepimmediately to any image in the series by positioning the slide bar 2008at the appropriate location.

As described above, the viewer program receives a fixed subset of keypositions, including the IDDS and the FDDS, from the remote host. Fromthis data, the animation routine derives the transformation curvesrequired to display the teeth at the intermediate treatment steps, usingany of a variety of mathematical techniques. One technique is byinvoking the path-generation program described above. In this situation,the viewer program includes the path-generation program code. Theanimation routine invokes this code either when the downloaded keypositions are first received or when the user invokes the animationroutine.

The viewer program allows the clinician to alter the rendered image bymanipulating the image graphically. For example, the clinician canreposition an individual tooth by using a mouse to click and drag orrotate the tooth to a desired position. In some implementations,repositioning an individual tooth alters only the rendered image; inother implementations, repositioning a tooth in this manner modifies theunderlying data set. In the latter situation, the viewer programperforms collision detection to determine whether the attemptedalteration is valid and, if not, notifies the clinician immediately.Alternatively, the viewer program modifies the underlying data set andthen uploads the altered data set to the remote host, which performs thecollision detection algorithm. The clinician also can provide textualfeedback to the remote host through a dialog box 2018 in the interfacedisplay 2000. Text entered into the dialog box 2018 is stored as a textobject and later uploaded to the remote host or, alternatively, isdelivered to the remote host immediately via an existing connection.

The viewer program optionally allows the clinician to isolate the imageof a particular tooth and view the tooth apart from the other teeth. Theclinician also can change the color of an individual tooth or group ofteeth in a single rendered image or across the series of images. Thesefeatures give the clinician a better understanding of the behavior ofindividual teeth during the course of treatment.

Another feature of the viewer program allows the clinician to receiveinformation about a specific tooth or a specific part of the model uponcommand, e.g., by selecting the area of interest with a mouse. The typesof information available include tooth type, distance between adjacentteeth, and forces (magnitudes and directions) exerted on the teeth bythe aligner or by other teeth. Finite element analysis techniques areused to calculate the forces exerted on the teeth. The clinician alsocan request graphical displays of certain information, such as a plot ofthe forces exerted on a tooth throughout the course of treatment or achart showing the movements that a tooth will make between steps on thetreatment path. The viewer program also optionally includes “virtualcalipers,” a graphical tool that allows the clinician to select twopoints on the rendered image and receive a display indicating thedistance between the points.

Fabricating the Aligners

Once the intermediate and final data sets have been created, theappliances may be fabricated as illustrated in FIG. 10. Commonfabrication methods employ a rapid prototyping device 200 such as astereolithography machine. A particularly suitable rapid prototypingmachine is Model SLA-250/50 available from 3D System, Valencia, Calif.The rapid prototyping machine 200 selectively hardens a liquid or othernon-hardened resin into a three-dimensional structure which can beseparated from the remaining non-hardened resin, washed, and used eitherdirectly as the appliance or indirectly as a mold for producing theappliance. The prototyping machine 200 receives the individual digitaldata sets and produces one structure corresponding to each of thedesired appliances. Generally, because the rapid prototyping machine 200may utilize a resin having non-optimum mechanical properties and whichmay not be generally acceptable for patient use, the prototyping machinetypically is used to produce molds which are, in effect, positive toothmodels of each successive stage of the treatment. After the positivemodels are prepared, a conventional pressure or vacuum molding machineis used to produce the appliances from a more suitable material, such as0.03 inch thermal forming dental material, available from Tru-TainPlastics, Rochester, Minn. 55902. Suitable pressure molding equipment isavailable under the trade name BIOSTAR from Great Lakes Orthodontics,Ltd., Tonawanda, N.Y. 14150. The molding machine 250 produces each ofthe appliances directly from the positive tooth model and the desiredmaterial. Suitable vacuum molding machines are available from RaintreeEssix, Inc.

After production, the appliances can be supplied to the treatingprofessional all at one time. The appliances are marked in some manner,typically by sequential numbering directly on the appliances or on tags,pouches, or other items which are affixed to or which enclose eachappliance, to indicate their order of use. Optionally, writteninstructions may accompany the system which set forth that the patientis to wear the individual appliances in the order marked on theappliances or elsewhere in the packaging. Use of the appliances in sucha manner will reposition the patient's teeth progressively toward thefinal tooth arrangement.

Because a patient's teeth may respond differently than originallyexpected, the treating clinician may wish to evaluate the patient'sprogress during the course of treatment. The system can also do thisautomatically, starting from the newly-measured in-course dentition. Ifthe patient's teeth do not progress as planned, the clinician can revisethe treatment plan as necessary to bring the patient's treatment back oncourse or to design an alternative treatment plan. The clinician mayprovide comments, oral or written, for use in revising the treatmentplan. The clinician also can form another set of plaster castings of thepatient's teeth for digital imaging and manipulation. The clinician maywish to limit initial aligner production to only a few aligners,delaying production on subsequent aligners until the patient's progresshas been evaluated.

FIG. 11 is a simplified block diagram of a data processing system 300that may be used to develop orthodontic treatment plans. The dataprocessing system 300 typically includes at least one processor 302which communicates with a number of peripheral devices via bus subsystem304. These peripheral devices typically include a storage subsystem 306(memory subsystem 308 and file storage subsystem 314), a set of userinterface input and output devices 318, and an interface to outsidenetworks 316, including the public switched telephone network. Thisinterface is shown schematically as “Modems and Network Interface” block316, and is coupled to corresponding interface devices in other dataprocessing systems via communication network interface 324. Dataprocessing system 300 could be a terminal or a low-end personal computeror a high-end personal computer, workstation or mainframe.

The user interface input devices typically include a keyboard and mayfurther include a pointing device and a scanner. The pointing device maybe an indirect pointing device such as a mouse, trackball, touchpad, orgraphics tablet, or a direct pointing device such as a touchscreenincorporated into the display, or a three dimensional pointing device,such as the gyroscopic pointing device described in U.S. Pat. No.5,440,326, other types of user interface input devices, such as voicerecognition systems, can also be used.

User interface output devices typically include a printer and a displaysubsystem, which includes a display controller and a display devicecoupled to the controller. The display device may be a cathode ray tube(CRT), a flat-panel device such as a liquid crystal display (LCD), or aprojection device. The display subsystem may also provide non-visualdisplay such as audio output.

Storage subsystem 306 maintains the basic required programming and dataconstructs. The program modules discussed above are typically stored instorage subsystem 306. Storage subsystem 306 typically comprises memorysubsystem 308 and file storage subsystem 314.

Memory subsystem 308 typically includes a number of memories including amain random access memory (RAM) 310 for storage of instructions and dataduring program execution and a read only memory (ROM) 312 in which fixedinstructions are stored. In the case of Macintosh-compatible personalcomputers the ROM would include portions of the operating system; in thecase of IBM-compatible personal computers, this would include the BIOS(basic input/output system).

File storage subsystem 314 provides persistent (non-volatile) storagefor program and data files, and typically includes at least one harddisk drive and at least one floppy disk drive (with associated removablemedia). There may also be other devices such as a CD-ROM drive andoptical drives (all with their associated removable media).Additionally, the system may include drives of the type with removablemedia cartridges. The removable media cartridges may, for example, behard disk cartridges, such as those marketed by Syquest and others, andflexible disk cartridges, such as those marketed by Iomega. One or moreof the drives may be located at a remote location, such as in a serveron a local area network or at a site on the Internet's World Wide Web.

flexible disk cartridges, such as those marketed by Iomega. One or moreof the drives may be located at a remote location, such as in a serveron a local area network or at a site on the Internet's World Wide Web.

In this context, the term “bus subsystem” is used generically so as toinclude any mechanism for letting the various components and subsystemscommunicate with each other as intended. With the exception of the inputdevices and the display, the other components need not be at the samephysical location. Thus, for example, portions of the file storagesystem could be connected via various local-area or wide-area networkmedia, including telephone lines. Similarly, the input devices anddisplay need not be at the same location as the processor, although itis anticipated that personal computers and workstations typically willbe used.

Bus subsystem 304 is shown schematically as a single bus, but a typicalsystem has a number of buses such as a local bus and one or moreexpansion buses (e.g., ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), aswell as serial and parallel ports. Network connections are usuallyestablished through a device such as a network adapter on one of theseexpansion buses or a modem on a serial port. The client computer may bea desktop system or a portable system.

Scanner 320 is responsible for scanning casts of the patient's teethobtained either from the patient or from an orthodontist and providingthe scanned digital data set information to data processing system 300for further processing. In a distributed environment, scanner 320 may belocated at a remote location and communicate scanned digital data setinformation to data processing system 300 via network interface 324.

Fabrication machine 322 fabricates dental appliances based onintermediate and final data set information received from dataprocessing system 300. In a distributed environment, fabrication machine322 may be located at a remote location and receive data set informationfrom data processing system 300 via network interface 324.

The invention has been described in terms of particular embodiments.Other embodiments are within the scope of the following claims. Forexample, the three-dimensional scanning techniques described above maybe used to analyze material characteristics, such as shrinkage andexpansion, of the materials that form the tooth castings and thealigners. Also, the 3D tooth models and the graphical interfacedescribed above may be used to assist clinicians that treat patientswith conventional braces or other conventional orthodontic appliances,in which case the constraints applied to tooth movement would bemodified accordingly. Moreover, the tooth models may be posted on ahypertext transfer protocol (http) web site for limited access by thecorresponding patients and treating clinicians.

While preferred embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. Numerousvariations, changes, and substitutions will now occur to those skilledin the art without departing from the invention. It should be understoodthat various alternatives to the embodiments of the invention describedherein may be employed in practicing the invention. It is intended thatthe following claims define the scope of the invention and that methodsand structures within the scope of these claims and their equivalents becovered thereby.

What is claimed is:
 1. A system for providing three dimensional modelsfor use in orthodontics, the system comprising: one or more processors;and memory, including instructions executable by the one or moreprocessors to cause the system to at least: receive feedback informationon a suggested post-treatment arrangement of a patient's teeth, thefeedback information generated based on a graphical representation ofthe patient's teeth in the suggested post-treatment arrangement andincluding a repositioning of at least one of the patient's teeth in thesuggested post-treatment arrangement so as to produce a desired finalarrangement of the patient's teeth; and generate, based at least in parton the feedback information, a plurality of data sets representingsuccessive planned intermediate arrangements of the patient's teeth in aplanned repositioning of the patient's teeth to the desired finalarrangement.
 2. The system of claim 1, wherein the suggestedpost-treatment arrangement is prepared by a first user and the feedbackinformation is generated by a second user.
 3. The system of claim 1,wherein the graphical representation comprises image data of thepatient's teeth in the suggested post-treatment arrangement.
 4. Thesystem of claim 3, wherein the feedback information is provided by auser who has interactively viewed the image data of the patient's teethin the suggested post-treatment arrangement so as to provide thefeedback information.
 5. The system of claim 3, wherein the feedbackinformation is generated based on graphical manipulation of the imagedata.
 6. The system of claim 1, wherein the graphical representationcorresponds to a digital data set of the patient's teeth in thesuggested post-treatment arrangement received by the system.
 7. Thesystem of claim 1, wherein the graphical representation comprises ananimation routine providing a series of images showing intermediatepositions of the teeth along a treatment path from a first arrangementto the suggested post-treatment arrangement.
 8. The system of claim 1,wherein the suggested post-treatment arrangement comprises suggestedtooth positions and orientations prepared based on three-dimensionalinformation of shapes of the patient's teeth.
 9. The system of claim 1,wherein the repositioning of the at least one of the patient's teeth inthe suggested post-treatment arrangement comprises a modification of oneor more of a position or an orientation of the at least one of thepatient's teeth in the suggested post-treatment arrangement.
 10. Thesystem of claim 9, wherein the instructions further cause the system todetermine whether the modification is valid based on collisiondetection.
 11. The system of claim 1, wherein the feedback informationcomprises textual feedback.
 12. The system of claim 1, wherein thefeedback information comprises information approving a position andorientation of at least one of the patient's teeth in the suggestedpost-treatment arrangement.
 13. The system of claim 1, wherein theinstructions further cause the system to display a revised graphicalrepresentation of the patient's teeth in the desired final arrangementproduced based on the feedback information.
 14. The system of claim 1,wherein the plurality of data sets comprises a plurality ofthree-dimensional models representing the successive plannedintermediate arrangements of the patient's teeth.
 15. The system ofclaim 14, wherein at least one of the plurality of three-dimensionalmodels is generated based on the feedback information.
 16. The system ofclaim 1, wherein at least one of the plurality of data sets comprises aninitial data set that contains a three-dimensional representation of agroup of teeth.
 17. The system of claim 16, wherein the initial data setis segmented into individual data sets representing each individualtooth in the group of teeth.
 18. The system of claim 1, wherein theinstructions further cause the system to: output instructions to afabrication machine for generating shell appliances having teethreceiving cavities corresponding to the successive planned intermediatearrangements of the patient's teeth.
 19. A system for providing threedimensional models for use in orthodontics, the system comprising: oneor more processors; and memory, including instructions executable by theone or more processors to cause the system to at least: receive feedbackinformation on a suggested post-treatment arrangement of a patient'steeth, the feedback information generated based on a graphicalrepresentation of the patient's teeth in the suggested post-treatmentarrangement and including a repositioning of at least one of thepatient's teeth in the suggested post-treatment arrangement so as toproduce a desired final arrangement of the patient's teeth; and output,based at least in part on the feedback information, instructions to afabrication machine for generating a plurality of shell applianceshaving teeth receiving cavities corresponding to successive plannedintermediate arrangements of the patient's teeth in a plannedrepositioning of the patient's teeth to the desired final arrangement.20. One or more non-transitory computer-readable storage media havingstored thereon executable instructions that, when executed by one ormore processors of a computer system, cause the computer system to atleast: receive feedback information on a suggested post-treatmentarrangement of a patient's teeth, the feedback information generatedbased on a graphical representation of the patient's teeth in thesuggested post-treatment arrangement and including a repositioning of atleast one of the patient's teeth in the suggested post-treatmentarrangement so as to produce a desired final arrangement of thepatient's teeth; and generate, based at least in part on the feedbackinformation, a plurality of data sets representing successive plannedintermediate arrangements of the patient's teeth in a plannedrepositioning of the patient's teeth to the desired final arrangement.